



let cp = require('child_process');

/**
 * fork:
 * 
 *
 * spawn:
 *      spawn与exec有点相似之处，这是因为spawn也是作为开启一个子进程执行shell的存在，
 *      不同之处是spawn不会把输出流中的数据做一个缓存，所以没有一个大小的限制，
 *      这通常用spawn来运行返回大量数据的子进程，如图像处理，文件读取等。
 *      而exec则应用来运行只返回少量返回值的子进程，如只返回一个状态码。
 *
 *
 * exec:   开始一个子进程执行shell命令
 */


cp.exec('ls -a',(err,stdout,stderr)=>{
    if(err){
        throw err;
    }
    process.stdout.write(`stdout:${stdout}`);
    console.log(`-------------------------------------`);
    console.error(`stderr: ${stderr}`);
});
